"""
编写一个Python程序: - 创建一个图书管理系统，实现以下功能：
1. 图书类 Book：属性包括书名（title）、作者（author）和出版日期（publish_date），
方法包括获取书名、获取作者和获取出版日期的方法。
2. 图书馆类 Library：属性包括图书列表（books），方法包括添加图书、借出图书、归还图书和显示所有图书的方法。
3. add_book 方法：接受一个 Book 类型的参数，将其添加到图书列表中。
4. borrow_book 方法：接受一个字符串类型的参数（书名），找到对应书名的图书，并将其从图书列表中移除。
5. return_book 方法：接受一个 Book 类型的参数，将其添加到图书列表中。
6. show_books 方法：输出当前图书馆中所有图书的书名、作者和出版日期
"""


class Book:
    def __init__(self, title, author, publish_date):
        self.title = title
        self.author = author
        self.publish_date = publish_date

    def get_title(self):
        return self.title

    def get_author(self):
        return self.author

    def get_publish_date(self):
        return self.publish_date


class Library:
    def __init__(self):
        self.book_list = []

    def add_book(self, book):
        self.book_list.append(book)

    def borrow_book(self, title):
        for book in self.book_list:
            if book.get_title() == title:
                self.book_list.remove(book)
                return book

    def return_book(self, book):
        self.book_list.append(book)

    def show_books(self):
        for book in self.book_list:
            print('书名是:',book.get_title(),'作者是:',book.get_author(),'出版日期是:',book.get_publish_date())


if __name__ == '__main__':
    library = Library()

    book1 = Book('python学习大法', '牛老师','2022-01-22')
    book2 = Book('皇帝的新衣', '杰克','2024-04-01')
    book3 = Book('口才训练', '琼斯','2000-07-18')
    book4 = Book('哈利波特', '罗琳','2003-05-13')

    library.add_book(book1)
    library.add_book(book2)
    library.add_book(book3)
    library.add_book(book4)

    library.show_books()

    borrow_book = library.borrow_book('皇帝的新衣')
    if borrow_book:
        print('借出的书是:', borrow_book.get_title())

    library.show_books()

    library.return_book(borrow_book)
    print('归还的书是:',borrow_book.get_title())

    library.show_books()













